package com.av.client.components;

import java.util.HashSet;
import java.util.Set;

import javax.swing.JLabel;

import com.av.client.util.idioma.Etiqueta;
import com.av.client.util.idioma.ManejadorIdiomas;
import com.av.db.dataobjects.enums.Rol;

@SuppressWarnings("serial")
public class AvLabel extends JLabel implements AvComponent {
	private Set<Rol> permisos = new HashSet<Rol>();
	private static ManejadorIdiomas mi;

	public AvLabel(Etiqueta e, boolean cargarPermisos) {
		super();

		if (mi == null) {
			mi = ManejadorIdiomas.getInstance();
		}

		setText(mi.obtenerEtiqueta(e));

		if (cargarPermisos) {
			loadPermisos();
		}
	}// AvButton

	public AvLabel(Etiqueta e) {
		this(e, true);
	}// AvButton

	@Override
	public void addPermiso(Rol rol) {
		permisos.add(rol);
	}// addPermiso

	@Override
	public void removePermiso(Rol rol) {
		permisos.remove(rol);
	}// removePermiso

	@Override
	public void loadPermisos() {
		for (Rol r : Rol.values()) {
			addPermiso(r);
		}
	}// loadPermisos

	@Override
	public boolean contains(Rol rol) {
		return permisos.contains(rol);
	}// contains

	public void setText(Etiqueta e) {
		setText(mi.obtenerEtiqueta(e));
	}// setText
}// AvLabel